const {prisma, minioClient, mqttClient}=require('./utils.js')

class LevelsController{
    /**
     * GET：获取专家修改信息
     * @param {*} req.query.user_id 用户id
     * @returns
     * 500 内部错误
     * 200 返回levels信息
     * {
     *  id,
     *  name,
     *  level2:{
     *      id,
     *      name
     *  }
     * }
     */
    all(req,res,next){
        prisma.level1.findMany({
            select:{
                id:true,
                name:true,
                level2:{
                    select:{
                        id:true,
                        name:true
                    }
                }
            }
        }).then(ret=>{
            res.send(200,ret)
            next()
        }).catch(err=>{
            res.send(500,err)
            next()
        })
    }

    /**
     * GET：获取level2信息
     * /level2/:id
     * @param {*} req.params.id level2 id
     * @returns
     * 500 内部错误
     * 404 无效id
     * 200 返回level2s信息
     * {
     *  id,
     *  name,
     *  level1:{
     *      id,
     *      name
     *  }
     * }
     */
    async level2(req, res){
        try{
            var id=Number(req.params.id)
            var ret=await prisma.level2.findUnique({
                where:{id:id},
                select:{
                    id:true,
                    name:true,
                    level1:{
                        select:{
                            id:true,
                            name:true
                        }
                    }
                }
            })
            if(ret==null){
                res.send(404)
                return
            }
            res.send(200,ret)
        }catch(err){
            res.send(500)
            console.error(err)
        }
        
    }
}

module.exports=new LevelsController()